package com.example.stuwork.dao;

import com.example.stuwork.pojo.QuizQuestion;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 测试题目数据访问接口
 */
@Repository
public interface QuizQuestionDao {
    
    /**
     * 查询所有题目
     * 
     * @return 题目列表
     */
    List<QuizQuestion> findAll();
    
    /**
     * 根据ID查询题目
     * 
     * @param questionId 题目ID
     * @return 题目信息
     */
    QuizQuestion getById(Long questionId);
    
    /**
     * 根据测试ID查询题目列表
     * 
     * @param quizId 测试ID
     * @return 题目列表
     */
    List<QuizQuestion> findByQuizId(Long quizId);
    
    /**
     * 添加题目
     * 
     * @param question 题目信息
     * @return 影响行数
     */
    int insert(QuizQuestion question);
    
    /**
     * 批量添加题目
     * 
     * @param questions 题目列表
     * @return 影响行数
     */
    int batchInsert(List<QuizQuestion> questions);
    
    /**
     * 更新题目信息
     * 
     * @param question 题目信息
     * @return 影响行数
     */
    int update(QuizQuestion question);
    
    /**
     * 删除题目
     * 
     * @param questionId 题目ID
     * @return 影响行数
     */
    int deleteById(Long questionId);
    
    /**
     * 根据测试ID删除所有题目
     * 
     * @param quizId 测试ID
     * @return 影响行数
     */
    int deleteByQuizId(Long quizId);
    
    /**
     * 统计测试的题目数量
     * 
     * @param quizId 测试ID
     * @return 题目数量
     */
    int countByQuizId(Long quizId);
} 